package model

const TableNameDavUserRole = "dav_user_role"

// DavUserRole 用户校色管理
type DavUserRole struct {
	ID         int64  `gorm:"column:id;type:bigint;primaryKey;autoIncrement:true;comment:id" json:"id"`                 // id
	Name       string `gorm:"column:name;type:varchar(50);not null;comment:名称" json:"name"`                             // 名称
	Methods    string `gorm:"column:methods;type:varchar(255);not null;comment:操作权限" json:"methods"`                    // 操作权限
	Path       string `gorm:"column:path;type:varchar(255);not null;comment:访问目录" json:"path"`                          // 访问目录
	Createtime int32  `gorm:"column:createtime;type:int;not null;comment:创建时间;autoUpdateTime:second" json:"createtime"` // 创建时间
	Updatetime int32  `gorm:"column:updatetime;type:int;not null;comment:更新时间;autoUpdateTime:second" json:"updatetime"` // 更新时间
}

type CreateDavUserRole struct {
	Name    string `json:"name"  binding:"required" default:"角色1"`           // 名称
	Methods string `json:"methods"  binding:"required" default:"DELETE,PUT"` // 操作权限 参考请求method多个逗号分割
	Path    string `json:"path"  binding:"required" default:"/"`             // 访问目录
}
type UpdateDavUserRole struct {
	ID      int64  `json:"id" binding:"required"`        // id
	Name    string `json:"name" default:"角色1"`           // 名称
	Methods string `json:"methods" default:"DELETE,PUT"` // 操作权限 参考请求method多个逗号分割
	Path    string `json:"path"  default:"/"`            // 访问目录
}

// TableName DavUserRole's table name
func (*DavUserRole) TableName() string {
	return TableNameDavUserRole
}
